/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright @ Huawei Technologies Co., Ltd. 2020-2020. ALL rights reserved.
 * Description: Header file for swapmm_tlb module.
 */

#ifndef _LINUX_SWAPMM_TLB_MADV_H
#define _LINUX_SWAPMM_TLB_MADV_H

struct swapmm_madv_opt {
	struct page **pages;
	unsigned long align;
	unsigned long num;
	unsigned long pos;
};

extern int __swapmm_madv_swapmove(unsigned long arg);
extern int __swapmm_madv_dontneed(unsigned long arg);
extern int __swapmm_madv_willneed(unsigned long arg);
extern void swapmm_madv_clear_pgtable(struct mm_struct *mm, struct swapmm_area *swapmm_area);

#endif

